package com.graduation.springbootinit.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.graduation.springbootinit.model.entity.ShopPart.ProductComment;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ProductCommentMapper extends BaseMapper<ProductComment> {
    
    /**
     * 获取商品的评论列表（分页）
     */
    Page<ProductComment> selectPageByProductId(Page<ProductComment> page, @Param("productId") Long productId);
    
    /**
     * 获取评论的回复列表
     */
    List<ProductComment> selectRepliesByParentId(@Param("parentId") Long parentId);
    
    /**
     * 增加点赞数
     */
    void incrementLikeCount(@Param("id") Long id);
    
    /**
     * 获取商品的评论总数
     */
    Long countByProductId(@Param("productId") Long productId);
    
    /**
     * 获取商品的平均评分
     */
    Double getAverageRating(@Param("productId") Long productId);
}